package com.ruoyi.student_club.service;

import java.util.List;
import com.ruoyi.student_club.domain.ClubExamine;
import com.ruoyi.student_club.dto.JoinDto;
import com.ruoyi.student_club.vo.ExamineVo;
import com.ruoyi.student_club.vo.app.ClubExamineVo;

/**
 * 审核管理Service接口
 * 
 * @author 无尤
 * @date 2022-01-24
 */
public interface IClubExamineService 
{
    /**
     * 查询审核管理
     * 
     * @param id 审核管理主键
     * @return 审核管理
     */
    public ClubExamine selectClubExamineById(Long id);

    /**
     * 查询审核管理列表
     * 
     * @param clubExamine 审核管理
     * @return 审核管理集合
     */
    public List<ExamineVo> selectClubExamineList(ClubExamine clubExamine);

    /**
     * 修改审核管理
     * 
     * @param clubExamine 审核管理
     * @return 结果
     */
    public int updateClubExamine(ClubExamine clubExamine);

    /**
     * 批量删除审核管理
     * 
     * @param ids 需要删除的审核管理主键集合
     * @return 结果
     */
    public int deleteClubExamineByIds(String ids);

    /**
     * 删除审核管理信息
     * 
     * @param id 审核管理主键
     * @return 结果
     */
    public int deleteClubExamineById(Long id);

    /**
     * 申请加入社团
     * @param dto
     * @return
     */
    void save(JoinDto dto);

    /**
     * 获取我的审核状态列表
     * @param userId 用户id
     * @return
     */
    List<ClubExamineVo> getExamineList(Long userId);

    /**
     * 获取各个状态的列表
     * @param userId 用户id
     * @param state 状态
     * @return
     */
    List<ClubExamineVo> detail(Long userId,Integer state);
}
